package org.iteam.bank.core;

/**
 * <pre>
 * 0x00	0	成功	
 * 0x01	1	失败	
 * 0x10	16	系统错误	直接提示系统错误(Mina错误)
 * 0x11	17	网络通讯错误	HTTP网络通讯错误(service特殊处理)
 * 0x13	19	数据库错误	数据库操作错误
 * 0x14	20	数据错误	JSON数据包装解析错误(service特殊处理)
 * 0x1F	31	系统其他错误	可根据其他字段获取具体错误
 * 0x50	80	业务错误	直接提示业务错误
 * </pre>
 * 
 * @author wenke
 *
 */
public enum ReturnCode {
	/**
	 * 0x00 0 成功
	 */
	SUCCESS(0x00, "成功"),
	/**
	 * 0x01 1 失败
	 */
	FAIL(0x01, "失败"),
	/**
	 * 0x10 16 系统错误 直接提示系统错误(Mina错误)
	 */
	SYSTEM_ERRPR(0x10, "系统错误"),
	/**
	 * 0x11 17 网络通讯错误 HTTP网络通讯错误(service特殊处理)
	 */
	HTTP_ERRPR(0x11, "网络通讯错误"),
	/**
	 * 0x13 19 数据库错误 数据库操作错误
	 */
	DB_ERRPR(0x13, "数据库错误"),
	/**
	 * 0x14 20 数据错误 JSON数据包装解析错误(service特殊处理)
	 */
	JSON_ERRPR(0x14, "数据错误"),
	/**
	 * 0x1F 31 系统其他错误 可根据其他字段获取具体错误
	 */
	OTHER_ERRPR(0x1F, "系统其他错误"),
	/**
	 * 0x50 80 业务错误 直接提示业务错误
	 */
	BUSINESS_ERRPR(0x50, "业务错误");
	private Integer code;
	private String msg;

	private ReturnCode(Integer code, String msg) {
		this.code = code;
		this.msg = msg;
	}

	public Integer getCode() {
		return code;
	}

	public void setCode(Integer code) {
		this.code = code;
	}

	public String getMsg() {
		return msg;
	}

	public void setMsg(String msg) {
		this.msg = msg;
	}

	@Override
	public String toString() {
		return this.getCode().toString();
	}
}
